<?php
/* 
 * Code om te kijken hoe interfaces in PHP precies werken
 *
 * @author Antwan van der Mooren
 */

interface GiveMeMethods
{
	public function giveMeMoney();
	public function giveMeCleanCode();
	public function giveMeVacation();
}

interface SaveData
{
	public function saveMyProject();
}

class InterfaceUser implements GiveMeMethods, SaveData
{
	public function  __construct()
	{
		//Initialise
	}

	public function giveMeMoney()
	{
		return "&euro; 1.000.000";
	}

	public function giveMeCleanCode()
	{
		return "Look around and enjoy";
	}

	public function giveMeVacation()
	{
		return "One week to go!";
	}

	public function saveMyProject()
	{
		return "NetBeans has it all :-)";
	}
}

//Alle functies uit de geimplementeerde classes dienen te worden gebruikt
//Een 'interface' lijkt vooral handig als bouwsteen voor een project, alles wat daarin staat
//Zou rechtstreeks uit je KlasseDiagram kunnen komen en gebruikt MOETEN worden!
$interfaceUser = new InterfaceUser();
echo $interfaceUser->saveMyProject();

?>
